安装及配置 NDK 和 CMake  

您所在的位置:网站首页 ndk 编译makefile 安装及配置 NDK 和 CMake  

安装及配置 NDK 和 CMake  

2023-07-11 15:45| 来源: 网络整理| 查看: 265

如需为您的应用编译和调试原生代码,您需要以下组件:

Android 原生开发套件 (NDK):这是一套可让您在 Android 应用中使用 C 和 C++ 代码的工具。 CMake:这是一款外部构建工具,可与 Gradle 搭配使用来构建原生库。如果您只计划使用 ndk-build,则不需要此组件。 LLDB:Android Studio 用于调试原生代码的调试程序。默认情况下,安装 Android Studio 时会随同安装 LLDB。

本页介绍了如何自动安装这些组件,以及如何使用 Android Studio 或 sdkmanager 工具手动下载和安装这些组件。

自动安装 NDK 和 CMake

Android Gradle 插件 4.2.0 及更高版本可在您首次构建项目时自动安装所需的 NDK 和 CMake,前提是您已预先接受其二者的许可。如果您已阅读并同意许可条款,就可以使用以下命令预先接受脚本中的相应许可:

yes | ${sdk}/cmdline-tools/latest/bin/sdkmanager --licenses 安装 NDK 和 CMake

当您安装 NDK 时,Android Studio 会选择可用的最新 NDK 版本。对于大多数项目,安装此默认版本的 NDK 已经足够。不过,如果您的项目需要一个或多个特定版本的 NDK,您可以下载并配置特定版本。当多个项目各自依赖于特定版本的 NDK 时,这样做有助于确保各个项目的 build 都可重现。Android Studio 会将所有版本的 NDK 安装在 android-sdk/ndk/ 目录中。

如需在 Android Studio 中安装 CMake 和默认 NDK,请执行以下操作:

打开项目后,依次点击 Tools > SDK Manager。

点击 SDK Tools 标签页。

选中 NDK (Side by side) 和 CMake 复选框。

SDK 管理器的图片 图 1. 显示 NDK (Side by side) 选项的 SDK Tools 窗口

注意:如果某个 NDK 安装在 ndk-bundle 文件夹中,它会显示在列表中并带有 NDK 标签。如果您使用的是 Android Gradle 插件 3.5.0 或更高版本,可以选中或取消选中该复选框。取消选中该复选框会卸载 NDK,释放磁盘空间,并在列表中移除该复选框。如果您卸载旧版 NDK,请从项目的 local.properties 文件中移除 ndk.dir 值,该值现已废弃。

点击 OK。

此时系统会显示一个对话框,告诉您 NDK 软件包占用了多少磁盘空间。

点击 OK。

安装完成后,点击 Finish。

您的项目会自动同步 build 文件并执行构建。修正发生的所有错误。

配置特定版本的 CMake

SDK 管理器包含 CMake 的 3.6.0 分支版本和 3.10.2 版本。未设置特定 CMake 版本的项目使用 CMake 3.10.2 进行构建。如需设置 CMake 版本,请将以下内容添加到模块的 build.gradle 文件中:

Groovy android { ... externalNativeBuild { cmake { ... version "cmake-version" } } } Kotlin android { ... externalNativeBuild { cmake { ... version = "cmake-version" } } }

如果您想要使用 SDK 管理器未包含的 CMake 版本,请按以下步骤操作:

从 CMake 官方网站下载并安装 CMake。 在模块的 build.gradle 文件中指定您想要让 Gradle 使用的 CMake 版本。

将 CMake 的安装路径添加到 PATH 环境变量,或将其添加到项目的 local.properties 文件中,如下所示。如果 Gradle 找不到您在 build.gradle 文件中指定的 CMake 版本,就会出现构建错误。

# If you set this property, Gradle no longer uses PATH to find CMake. cmake.dir = "path-to-cmake"

如果您尚未在工作站上安装 Ninja 构建系统,请访问 Ninja 官方网站,然后下载并安装适用于您的操作系统的最新版 Ninja。此外,请务必将 Ninja 的安装路径也添加到 PATH 环境变量。

安装特定版本的 NDK

要安装特定版本的 NDK,请执行以下操作:

打开项目后,依次点击 Tools > SDK Manager。

点击 SDK Tools 标签页。

选中 Show Package Details 复选框。

选中 NDK (Side by side) 复选框及其下方与您想要安装的 NDK 版本对应的复选框。Android Studio 会将所有版本的 NDK 安装在 android-sdk/ndk/ 目录中。

注意:NDK 的预览版(例如 Canary 版和 Beta 版)不会显示在此列表中,除非您为 Android Studio 更改更新渠道。您可以并排安装 Android Studio 预览版与稳定版。

“SDK Tools”窗口的图片 图 2. 显示 NDK (Side by side) 选项的 SDK Tools 窗口

注意:如果某个 NDK 安装在 ndk-bundle 文件夹中,它会显示在列表中并带有 NDK 标签。如果您使用的是 Gradle 3.5 或更高版本,可以选中或取消选中该复选框。取消选中该复选框会卸载已安装的 NDK,释放磁盘空间,并在列表中移除该复选框。如果您卸载旧版 NDK,请从项目的 local.properties 文件中移除 ndk.dir 值,该值现已废弃。

点击 OK。

此时系统会显示一个对话框,告诉您 NDK 软件包占用了多少空间。

点击 OK。

安装完成后,点击 Finish。

您的项目会自动同步 build 文件并执行构建。修正发生的所有错误。

为每个模块配置您想要让其使用的 NDK 版本。使用 Android Studio 3.6 或更高版本时,如果您不指定版本,Android Gradle 插件会选择已知兼容的版本。

在项目中配置特定版本的 NDK

如果满足以下任一条件,您可能需要在项目中配置 NDK 版本:

项目是继承的,您需要使用特定版本的 NDK 和 Android Gradle 插件 (AGP)。如需了解详情,请参阅为 Android Gradle 插件配置 NDK。

您安装了多个版本的 NDK,但想要使用某个特定版本。在这种情况下,请在模块的 build.gradle 文件中使用 android.ndkVersion 属性指定相应的版本,如以下代码示例所示。

Groovy android { ndkVersion "major.minor.build" // e.g., ndkVersion "21.3.6528147" } Kotlin android { ndkVersion = "major.minor.build" // e.g., ndkVersion "21.3.6528147" } 每个 AGP 版本对应的默认 NDK 版本

在发布之前,每个 AGP 版本都会使用当时最新的 NDK 稳定版进行全面测试。对于 AGP 3.6 及更高版本,如果您未在 build.gradle 文件中指定 NDK 版本,系统将使用上述 NDK 版本构建项目。AGP 版本说明中介绍了默认 NDK 版本。下表列出了当前的默认 NDK 版本:

Android Studio/Gradle 插件版本 为 AGP 版本指定的默认 NDK 版本 8.0 25.1.8937393 7.4 23.1.7779620 7.3 23.1.7779620 7.0 21.4.7075529 4.2 21.4.7075529 4.1 21.1.6352462 4.0 21.0.6113669 3.6 20.0.5594570 3.5 及更早版本 未指定默认版本


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3